Servers of a multimedia system have access to pre-stored multimedia content items. Content items can include games, movies, sporting events, advertising, music, files, databases, etc. Typically, the content of the multimedia is encoded as video, audio, text, and images. Digitally encoded signals representing the multimedia content can be stored on magnetic or optical media prior to delivery.
In response to customer demands, the servers can deliver the stored content items as transport streams. The transport streams, according to industry standard encoding, e.g., Motion Picture Expert's Group (MPEG), include a plurality of transport stream (TS) packets. The TS packets of the transport stream can be transported to customer premises equipment via a circuit of a communications network using, for example, asynchronous transfer mode (ATM) communication protocols.
FIG. 1 shows a prior art arrangement of a multimedia system 100. The system 100 includes multimedia servers 121-123 connected to disks 101-103. The disks 101-103 store multimedia content items 111-113. The multimedia servers 121-123 are connected by a bus 130. The servers 121-123 can access the disks 101-103 and format the content 111-113 into a transport stream in real time.
An essential part of the system 100 is a routing switch 140. The switch 140 establishes the "connection" between the servers "playing" the multimedia content items and endpoint customers. This means the switch 140 routes the transport streams via network ports 150 to a communications network 160. Circuits 180 of the communications network 160 are connected to customer premises 170. The premises 170 includes a set-top box 172 and a display device 173, for example a television.
During operation of the system 100, delivery of selected multimedia content item 111 is initiated at the customer premises 170. A customer makes a demand using, for example, a hand held remote control device and the set-top box 172. In response to the demand, the circuit 180 is established between one of the servers 121-123 and the premises 170. The circuit 180 can be physical or virtual. The dotted line 180 generally indicates a possible path travelled by the transport stream from the server 121 to the customer premises 170.
One problem with the prior art arrangement is load balancing. If the selected multimedia item 111 is popular, then it is likely that the server 121 will need to manage a large number of transport streams. However, the server 123 attached to the disk 103 storing a less desirable content item 113 is under utilized. It would be possible to store multiple copies of popular items so that more than one server can create transport streams. However, given that digitized content can consume as much as two to four gigabytes of storage, maintaining several copies of popular content items wastes storage space and increases the cost of the system. In addition, the viewers' preferences as to what is popular at any one time shifts rapidly. This makes it difficult to match up content with servers.
As another problem, the prior art arrangement is prone to single points of failure. Should there be a problem with the disk 101, the server 121, or the switch 180, the performance of the system is severely degraded. For example, failure in the disk 101 or the server 121 makes all the multimedia content stored on the disk 101 unavailable to use. Failure in the switch 140 may incapacitate the entire system.
As yet another problem, it is difficult to scale the system 100 to deliver increasing amounts of content to an increasing number of customers. Distribution of the content over the disks and the servers must be carefully monitored. Dynamically adjusting the arrangement of the content, disks, and servers is difficult and consumes resources. As the load is increased, the system may need to be upgraded to include more processors, or higher-performance processors and larger memories.
Therefore, there is a need for a multimedia delivery system which can dynamically balance the load over all of the resources of the system without a substantial rearrangement of the components. Furthermore, the system should also be tolerant to a single point or multiple points of failure. In addition, the basic building blocks of the system should facilitate simple scaling of the system as the size of the content and the number of customers increase.